package com.google.code.cisx.ann;

import java.lang.annotation.ElementType;
import java.lang.annotation.Target;

@Target(ElementType.TYPE)
public @interface DTO {

  enum PropertyGenerationStrategy {
    ALL, INDIVIDUAL
  };

  /**
   * Simple name for the DTO implementation that should be generated. If this is
   * not specified the name of the Type decorated by this annotation is assumed
   * and <b>DTO</b> suffixed.
   * 
   * @return Name of the resulting DTO implementation to be generated.
   */
  String dto() default "";

  String targetPackage() default "";

  PropertyGenerationStrategy strategy() default PropertyGenerationStrategy.ALL;

}
